export default Behavior({
	created: function () {
	  this.checkInitShare();
	},
	methods: {
	  checkInitShare() {
		wx.xrScene = undefined;
  
		if (!this.scene) {
		  setTimeout(() => {
			this.checkInitShare()
		  }, 100);
		  return;
		}
  
		if (this.scene.ar) {
		  if (this.scene.ar.ready) {
			this.initARTrackerState(this.scene);    
		  } else { 
			this.scene.event.add('ar-ready', () => this.initARTrackerState(this.scene));
		  }
		}
  
		if (!this.scene.share.supported) {
		  console.warn('Not support xr-frame share system now!');
		  return;
		}
  
		this.sharing = false;
		wx.xrScene = this.scene;
	  },
	  initARTrackerState(scene) {
		const xrFrameSystem = wx.getXrFrameSystem();
		scene.dfs(() => {}, undefined, true, el => {
		  const comp = el.getComponent(xrFrameSystem.ARTracker);
		  if (comp) {
			if (typeof comp.state === 'number') {
			  this.triggerEvent('arTrackerState', {state: comp.state, error: comp.errorMessage});
			  el.event.add('ar-tracker-state', tracker => {
				this.triggerEvent('arTrackerState', {state: tracker.state, error: tracker.errorMessage});
			  });
			}
			return true;
		  }
		});
	  }
	}
  })